#! /bin/sh
# PCP QA Test No. 580
# Compare pmGetInDom and pmNameIndom for instance names containing spaces
#
# Copyright (c) 1995-2002 Silicon Graphics, Inc.  All Rights Reserved.
#

seq=`basename $0`
echo "QA output created by $seq"

# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check

rm -f $seq.out
case $PCP_PLATFORM
in
    linux)
	# proc metrics may not be available
	#
	if pminfo proc.nprocs >/dev/null 2>&1
	then
	    ln $seq.out.$PCP_PLATFORM $seq.out || exit 1
	else
	    ln $seq.out.$PCP_PLATFORM.noproc $seq.out || exit 1
	fi
	;;
    darwin|solaris|freebsd)
	# same output for Mac OS X, OpenSolaris and FreeBSD
	ln $seq.out.darwin $seq.out || exit 1
	;;
    *)
	_notrun "Need qualified output for $PCP_PLATFORM"
	;;
esac

# see if unix domain sockets are available (permissions)
_get_libpcp_config
target="-h localhost"
$unix_domain_sockets && target="-h unix:"

_cleanup()
{
    cd $here
    $sudo rm -rf $tmp $tmp.*
}

status=1	# failure is the default!
$sudo rm -rf $tmp $tmp.* $seq.full
trap "_cleanup; exit \$status" 0 1 2 3 15

_filter()
{
    sed -e 's/  *$//'
}

# real QA test starts here
src/indom -i 15 kernel.all.load | _filter
if [ $PCP_PLATFORM != darwin -a $PCP_PLATFORM != solaris -a $PCP_PLATFORM != freebsd ]
then
    echo "src/indom $target -i 1 proc.psinfo.pid" >> $here/$seq.full
    src/indom $target -i 1 proc.psinfo.pid \
    | tee -a $here/$seq.full \
    | _filter \
    | sed 's/<0*1/<ONE/g;
s,/etc/init ,init,g;
s,/etc/init,init,g;
s,/usr/sbin/init,init,g;
s,/sbin/init,init,g;
s, /usr/lib/systemd/systemd\([ ">]\), init\1,;
s, /lib/systemd/systemd\([ ">]\), init\1,;
s, /bin/systemd\([ ">]\), init\1,;
s,init[^>]*,init,g;'
   # Irix 6.2 has a space after the init, linux may have extra arguments
   # And on some Linux systems (e.g. Fedora 18), pid 1 is not init, but
   # /usr/lib/systemd/systemd --switched-root --system --deserialize ...
fi
src/indom -i 4 sample.needprofile sampledso.needprofile | _filter
src/indom -i 500 sample.bin | _filter

# success, all done
status=0
exit
